Skip to content

feat(types): add QualityScore metadata (K/L/S) to IndexedDocument#718

Merged
AlexMikhalev merged 1 commit intomainfrom
task/90-quality-score
Mar 26, 2026
Merged

feat(types): add QualityScore metadata (K/L/S) to IndexedDocument#718
AlexMikhalev merged 1 commit intomainfrom
task/90-quality-score

Conversation

@AlexMikhalev
Copy link
Copy Markdown
Contributor

Summary

  • Adds QualityScore struct (knowledge/learning/synthesis, each 0.0-1.0) to terraphim_types
  • Adds quality_score: Option<QualityScore> to IndexedDocument
  • QualityScore::composite() method averages available scores
  • Fully backwards compatible (Option field with serde default)
  • Unit tests for QualityScore methods

Test plan

  • cargo clippy --workspace --all-targets -- -D warnings passes
  • cargo fmt --all --check passes
  • cargo test --workspace passes

Refs #90

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

…cument Refs #90

Add optional quality scoring for Knowledge/Learning/Synthesis dimensions:
- Add QualityScore struct with knowledge, learning, synthesis fields (0.0-1.0)
- Add quality_score field to IndexedDocument with serde default
- Implement composite() method to average available scores
- Update all IndexedDocument constructors to handle new field
- Add unit tests for QualityScore methods and backward compatibility

Breaking change: IndexedDocument no longer derives Eq due to f64 in QualityScore
@AlexMikhalev AlexMikhalev force-pushed the task/90-quality-score branch from 9ea5b71 to d32d26d Compare March 26, 2026 14:09
@AlexMikhalev AlexMikhalev merged commit ab46bbd into main Mar 26, 2026
15 of 19 checks passed
@AlexMikhalev AlexMikhalev deleted the task/90-quality-score branch March 26, 2026 14:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant